package com.wgl.sms.service.impl;

import com.cloopen.rest.sdk.CCPRestSmsSDK;
import com.wgl.sms.service.MsmService;
import org.apache.http.auth.AUTH;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;
import java.util.HashMap;

/**
 * @author wgl
 * @version 1.0.0
 * @ClassName MsmServiceImpl.java
 * @Description TODO
 * @createTime 2022年02月09日 16:34:00
 */
@Service
public class MsmServiceImpl implements MsmService {
    @Resource
    private CCPRestSmsSDK ccpRestSmsSDK;


    @Value("${lryun.msm.mb_id}")
    private  String mb_id;

    @Override
    public boolean send(String phone, String code) {
        if (StringUtils.isEmpty(phone)){
            return false;
        }
        //******************************注释****************************************************************
        //*调用发送模板短信的接口发送短信                                                                  *
        //*参数顺序说明：                                                                                  *
        //*第一个参数:是要发送的手机号码，可以用逗号分隔，一次最多支持100个手机号                          *
        //*第二个参数:是模板ID，在平台上创建的短信模板的ID值；测试的时候可以使用系统的默认模板，id为1。    *
        //*系统默认模板的内容为“【云通讯】您使用的是云通讯短信模板，您的验证码是{1}，请于{2}分钟内正确输入”*
        //*第三个参数是要替换的内容数组。																														       *
        //**************************************************************************************************

        //**************************************举例说明***********************************************************************
        //*假设您用测试Demo的APP ID，则需使用默认模板ID 1，发送手机号是13800000000，传入参数为6532和5，则调用方式为           *
        //*result = restAPI.sendTemplateSMS("13800000000","1" ,new String[]{"6532","5"});																		  *
        //*则13800000000手机号收到的短信内容是：【云通讯】您使用的是云通讯短信模板，您的验证码是6532，请于5分钟内正确输入     *
        //*********************************************************************************************************************


        HashMap<String, Object> result = ccpRestSmsSDK.sendTemplateSMS(phone,mb_id ,new String[]{code,"5"});

        System.out.println("SDKTestGetSubAccounts result=" + result);
        if("000000".equals(result.get("statusCode"))){
            return true;
            //正常返回输出data包体信息（map）
		/*	HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
			Set<String> keySet = data.keySet();
			for(String key:keySet){
				Object object = data.get(key);
				//System.out.println(key +" = "+object);
			}*/
            // System.out.println(code);
        }else{
            return false;
            // System.out.println(2);
            //异常返回输出错误码和错误信息
            //System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
        }
    }

    @Override
    public boolean sendOrder(String phone, String code) {
//        if (StringUtils.isEmpty(phone)){
//            return false;
//        }
        //******************************注释****************************************************************
        //*调用发送模板短信的接口发送短信                                                                  *
        //*参数顺序说明：                                                                                  *
        //*第一个参数:是要发送的手机号码，可以用逗号分隔，一次最多支持100个手机号                          *
        //*第二个参数:是模板ID，在平台上创建的短信模板的ID值；测试的时候可以使用系统的默认模板，id为1。    *
        //*系统默认模板的内容为“【云通讯】您使用的是云通讯短信模板，您的验证码是{1}，请于{2}分钟内正确输入”*
        //*第三个参数是要替换的内容数组。																														       *
        //**************************************************************************************************

        //**************************************举例说明***********************************************************************
        //*假设您用测试Demo的APP ID，则需使用默认模板ID 1，发送手机号是13800000000，传入参数为6532和5，则调用方式为           *
        //*result = restAPI.sendTemplateSMS("13800000000","1" ,new String[]{"6532","5"});																		  *
        //*则13800000000手机号收到的短信内容是：【云通讯】您使用的是云通讯短信模板，您的验证码是6532，请于5分钟内正确输入     *
        //*********************************************************************************************************************


        HashMap<String, Object> result = ccpRestSmsSDK.sendTemplateSMS("15295896387",mb_id ,new String[]{"".equals(code)?"记得去预约的地方就诊哦!":code,"5"});

        System.out.println("SDKTestGetSubAccounts result=" + result);
        if("000000".equals(result.get("statusCode"))){
            return true;
            //正常返回输出data包体信息（map）
		/*	HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
			Set<String> keySet = data.keySet();
			for(String key:keySet){
				Object object = data.get(key);
				//System.out.println(key +" = "+object);
			}*/
            // System.out.println(code);
        }else{
            return false;
            // System.out.println(2);
            //异常返回输出错误码和错误信息
            //System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
        }


    }
}
